package modelo;

import java.math.BigDecimal;

import javax.xml.bind.annotation.XmlRootElement;

import modelo.reglas.Specificable;

@XmlRootElement
public class Producto extends Specificable{
	private String id;
	private String tipo;
	private String nombre;
	private String marca;
	private BigDecimal precio;
	
	public Producto() {
	}
	
	public Producto(String id,String tipo,String nombre,String marca,BigDecimal precio){
		this.id = id;
		this.tipo = tipo;
		this.nombre = nombre;
		this.marca = marca;
		this.precio = precio;
	}
	
	@Override
	public boolean equals(Object obj) {
		if (obj instanceof Producto) {
			Producto p = (Producto) obj;
			
			return this == p;
		}
		return false;
	}
	
	@Override
	public int compareTo(Specificable o) {
		if (o instanceof Producto) {
			Producto p = (Producto) o;
			
			return id.compareTo(p.id);
		}
		return -1;
	}
	
	public String getTipo() {
		return tipo;
	}
	public String getNombre() {
		return nombre;
	}
	public String getMarca() {
		return marca;
	}
	public BigDecimal getPrecio() {
		return precio;
	}

	public String getId() {
		return id;
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		
		sb.append("id: ")
		.append(id);
		sb.append(" - Nombre: ")
		.append(nombre);
		sb.append(" - Marca: ")
		.append(marca);
		sb.append(" - Tipo : ")
		.append(this.tipo);
		sb.append(" - Precio : ")
		.append(this.precio);
		
		return sb.toString();
	}
}
